Modular SDN Programming with Pyretic
نویسندگان
چکیده
Managing today’s computer networks is a complex and error-prone task. These networks consist of a wide variety of devices, from routers and switches, to firewalls, network-address translators, load balancers, and intrusion-detection systems. Network administrators must express policies through tedious box-by-box configuration, while grappling with a multitude of protocols and baroque, vendor-specific interfaces. In contrast, Software-Defined Networking (SDN) is redefining the way we manage networks. In SDN, a controller application uses a standard, open messaging interface like OpenFlow [1], to specify how network elements or switches should handle incoming packets. Programmers develop their own new controller applications on top of a controller platform which provides a programming API built on top of OpenFlow. Separating the controller platform and applications from the network elements allows anyone—not just the equipment vendors—to program new network control software. In just a few years, SDN has enabled a wealth of innovation, including prominent commercial successes like Nicira’s network virtualization platform and Google’s wide-area traffic-engineering system. Most of the major switch vendors support the OpenFlow API, and many large information-technology companies are involved in SDN consortia like the Open Networking Foundation and the Open Daylight initiative. SDN is creating exciting new opportunities for networksavvy software developers and software-savvy network practitioners alike. But how should programmers write these controller applications? The first generation of SDN controller platforms offer programmers a low-level API closely resembling the interface to the switches. This forces programmers to program in “assembly language,” by manipulating bit patterns in packets and carefully managing the shared rule-table space. In the Frenetic project [2], we are designing simple, reusable, high-level abstractions for programming SDNs, and efficient runtime systems that automatically generate the low-level rules on switches [3, 4, 5, 6, 7]. Our abstractions cover the main facets of managing Figure 1: Software Defined Network (SDN)
منابع مشابه
Composing Software Defined Networks
Managing a network requires support for multiple concurrent tasks, from routing and traffic monitoring, to access control and server load balancing. Software-Defined Networking (SDN) allows applications to realize these tasks directly, by installing packet-processing rules on switches. However, today’s SDN platforms provide limited support for creating modular applications. This paper introduce...
متن کاملA Semantic Approach to Modularizing SDN Software
Software-defined networking (SDN) refactors the distributed network protocols in the network into an ensemble of centralized programs running at a server (controller) that is separate from the network, creating a rare opportunity to simplify network management with modern software engineering. Yet the SDN software architecture, which often requires coordination among multiple entities over shar...
متن کاملMulticasting with the Extended Dijkstra’s Shortest Path Algorithm for Software Defined Networking
This work proposes a multicast algorithm on the basis of the extended Dijkstra’s shortest path algorithm for Software Defined Networking (SDN) to run on top of the controller. The proposed muticast algorithm is used to generate a multicast tree for a data publisher to deliver data packets to all subscribers so that every node and every host on the multicast tree will receive every packet once a...
متن کاملWanted: Systems Abstractions for SDN
This paper presents a case for applying the principles of Software-Defined Networking (SDN) to middleboxes and end hosts. The challenges of configuring networking on network hosts resemble those addressed by SDN – numerous multi-vendor components, each with its own syntax and idiosyncratic corner cases, must be orchestrated smoothly. We have developed a prototype called NativeClick, a novel use...
متن کاملEnabling Dynamic Reconfigurability of SDRs Using SDN Principles
Dynamic reconfiguration and network programmability are active research areas. State of the art solutions use the Software Defined Networking (SDN) paradigm to provide basic data plane abstractions and programming interfaces for control and management of these abstractions; however, SDN technologies are currently limited to wiredions; however, SDN technologies are currently limited to wired net...
متن کامل